# 参考：https://blog.csdn.net/m0_51064412/article/details/134776773
# 使用此 CMakeList 时，若要新建 C++ 文件，请按照以下步骤：
# 1. 右键根目录——新建——C/C++源文件
# 2. 在弹出的对话框中，输入文件名(英文小写及下划线)，后缀为 ".cpp"，不要勾选“添加到目标”，点击确定。
# 3. 点击 左上角横线——文件——重新加载 CMake 项目 。

# 设定 C++11 标准
set(CMAKE_CXX_STANDARD 11)  # 将 C++ 标准设置为 C++11
set(CMAKE_CXX_STANDARD_REQUIRED ON)  # C++11 是强制要求，不会衰退至低版本

# 设定构建运行路径，避免污染根目录
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/.archive)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/.library)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/.runtime)
set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/.path)

# 遍历项目根目录下所有的 .cpp 文件，自动添加
file(GLOB_RECURSE files *.cpp **/*.cpp)
foreach (file ${files})
    string(REGEX REPLACE ".+/(.+)\\..*" "\\1" exe ${file})
    add_executable(${exe} ${file})
    message(\ \ \ \ --\ \[${exe}.cpp\]\ will\ be\ compiled\ to\ \'.runtime/${exe}.exe\')
endforeach ()
